# lst1 = [10,2,30,4,50]
# lst2 = [1,20,3,40,5]
# # sorted()
# # 是在新的可迭代对象的基础上排序的，不会影响原来的对象
# new_lst1 = sorted(lst1)
# print('对lst1进行升序排序：',new_lst1)
# new_lst2 = sorted(lst2,reverse=True) # 升序完后转置就变成了降序
# print('对lst2进行升序排序：',new_lst2)
#
# # reversed()
# # 对序列反转，并生成新的迭代器对象
# new_lst1 = reversed(lst1)
# # 需要将迭代器对象转换才行
# print(list(new_lst1))
#
# # zip()
# # 将参数组成元组并返回zip对象
# # 参数谁的长度短，以谁为基准
# obj_zip = zip(lst1, lst2)
# # 同样需要转换
# print(list(obj_zip))
#
# # enumerate()
# # 根据参数生成一个enumerate对象
# # 也是一个元组，默认初始值从0开始（可设置）
# obj_enum = enumerate(lst1)
# print(list(obj_enum))
#
# # all()
# lst3 = [1,2,'']
# # 元素的布尔值都为True时，返回True；有False，返回False
# print(all(lst3))
#
# # any()
# # 元素的布尔值都为False时，返回False；有True，返回True
# print(any(lst3))
#
# # next()
# # 生成一个迭代器对象
# obj_iter = iter(lst2)
# # 在配合while循环遍历
# while True:
#     try:
#         # 打印迭代器中的值，当迭代器中没有值时，就会报错
#         print(next(obj_iter), end=' ')
#     except StopIteration:
#         print()
#         break # 没有值了，就停止循环
#
# # filter()
# def fun(n):
#     return n%2 == 1
# # 对lst2中的元素进行fun处理，满足条件的添加到迭代器中
# # 即 lst2中所有满足 使fun函数返回True的元素，组成一个迭代器对象
# # 再将迭代器对象转为列表
# print(list(filter(fun, lst2)))
#
# # map()
# lst4 = ['hello', 'python', 'java', 'c']
# def upper(s):
#     return s.upper()
# # 将lst4中的元素进行upper处理，将处理后的结果放到迭代器对象中
# # 再将迭代器对象转换为列表
# print(list(map(upper, lst4)))
from random import random


# # format()：可以和格式化字符串一样，格式化这些数据
# # 对数值型数据进行格式化时，默认是右对齐
# # 同样超出格式长度，就不再进行格式了
# print(format(3.14,'20'))
# # 对字符串数据进行格式化时，默认是左对齐
# print(format('hello python', '20'))
#
# # id()
# # 对象在内存中的地址是固定的
# print(id(10))
# print(id(10))
# print(id('python'))
# print(id('python'))